module.exports = {
    apps: [
        {
            name: 'quarkpan4k',  // 应用名称，用于 PM2 进程管理和日志标识
            script: 'node_modules/next/dist/bin/next', // ✅ 直接执行 Next.js 的启动文件
            // script: 'npm',  // 使用 npm 命令启动 Next.js 应用
            args: 'start -p 15001',  // 运行 `npm run start` 命令
            cwd: './',  // 当前工作目录，通常是项目的根目录
            version: '1.0.0', // 确保这里有设置版本号
            env: {
                // NODE_ENV: 'production',  // 设置环境变量为生产环境
                VERSION: '1.0.0',  // 设置应用版本号
                PORT: 15001, // 应用运行的端口号
            },
            instances: 1,  // 使用单个实例，节省服务器资源，适用于小型服务器
            exec_mode: 'fork',  // 使用 fork 模式，适合单实例运行，资源占用较少
            autorestart: true,  // 启用自动重启，当实例崩溃或异常退出时自动恢复
            max_memory_restart: "300M",  // 内存使用超过 300MB 时自动重启实例，防止内存泄漏
            watch: false,  // 禁用文件监视，生产环境下提高稳定性

            // 日志配置
            error_file: './logs/err.log',  // 定义错误日志文件路径，记录错误信息
            out_file: './logs/out.log',  // 定义标准输出日志文件路径，记录正常运行信息
            log_file: './logs/combined.log',  // 合并日志文件路径，包含错误和标准输出
            merge_logs: true,  // 将所有实例的日志合并到一个文件，便于管理
            pid_file: './logs/pm2.pid',  // PM2 进程 ID 文件路径，便于进程管理

            // 日志文件管理配置
            log_date_format: 'YYYY-MM-DD HH:mm:ss',  // 设置日志文件中的时间戳格式，便于阅读
        }
    ]
};


// module.exports = {
//     apps: [
//       {
//         name: 'nextjs-app',             // 应用名称
//         script: 'npm',                  // 使用 npm 启动 Next.js 应用
//         args: 'start',                  // 运行 `npm run start`
//         cwd: './',                      // 当前工作目录（通常为项目根目录）
//         env: {
//           NODE_ENV: 'production',       // 设置生产环境
//           VERSION: '1.0.0',             // 设置版本号为 '1.0.0'
//         },
//         version: '1.0.0',               // 自定义版本号字段
//         instances: 2,                   // 设置实例数，适应多核服务器
//         exec_mode: 'cluster',           // 启动模式：cluster 模式（适合多核 CPU）
//         watch: false,                   // 禁用文件监视（生产环境通常不需要）
  
//         // 日志配置
//         error_file: './logs/err.log',   // 错误日志文件路径
//         out_file: './logs/out.log',     // 正常日志文件路径
//         log_file: './logs/combined.log', // 合并日志文件路径
//         merge_logs: true,               // 合并所有实例的日志
//         pid_file: './logs/pm2.pid',     // PID 文件路径
//       }
//     ]
//   };
  
